#ifndef _DriverVoltage_H_
#define _DriverVoltage_H_



/* VOLTAGE 板载通道号 */
#define VOLTAGE_CHANNEL_VDD1    0x01
#define VOLTAGE_CHANNEL_VDD2H   0x02
#define VOLTAGE_CHANNEL_VDD2L   0x04
#define VOLTAGE_CHANNEL_VDDQ    0x08
#define VOLTAGE_CHANNEL_ALL     0xFF



/* 电压值 */
typedef struct{
    float set;          /* 上位机设置的值（单位：V） */
    float get;          /* 实时值（单位：V） */
    float getFilter;    /* 滤波后的值（单位：V） */

    float limitMax;     /* 限制上限值（单位：V） */
    float limitMin;     /* 限制下限值（单位：V） */
    float error;        /* 发生错误时的值（单位：V） */
}VoltagePortType;

typedef struct{
    VoltagePortType vdd1;
    VoltagePortType vdd2H;
    VoltagePortType vdd2L;
    VoltagePortType vddQ;
}VoltageInfoType;


void vVoltageInit(void);
int8_t cVoltageSet(uint32_t uiChannel, float fVoltage);
void vVoltageUpdate(void);
VoltageInfoType *ptypeVoltageInfoGet(void);


#endif
